﻿/****************************************************
	文件：HConsts.cs
	作者：HuskyT
	邮箱: 1005240602@qq.com
	日期：2020/12/19 21:49   	
	功能：HTFW 内置常量
*****************************************************/

using System.IO;
using HTFW.Res;
using UnityEngine;

namespace HTFW.Consts
{
    //------------------------------  HConsts  ------------------------------//
    public class HConsts
    {
        /// <summary>
        /// 框架的命名空间
        /// </summary>
        public const string NAME_SPACE = "HTFW";

        /// <summary>
        /// 脚本模板数据 资源路径
        /// </summary>
        public const string PATH_ASSET_SCRIPT_TEMPLATE_DATA = "Assets/HTFW/ScriptTemplate/ScriptTemplateData.asset";

        //------------------------------  平台相关  ------------------------------//

        #region 平台相关

        /// <summary>
        /// 平台名称
        /// </summary>
        public class PlatformName
        {
            public const string Windows = "Windows";
            public const string Ios = "iOS";
            public const string Android = "Android";
            public const string Linux = "Linux";
            public const string Osx = "OSX";
            public const string WebGl = "WebGL";
        }

        #endregion
    }


    //------------------------------  编辑器扩展的菜单路径  ------------------------------//

    #region 编辑器扩展的菜单路径

    /// <summary>
    /// 编辑器扩展的菜单路径
    /// </summary>
    public class MenuPath
    {
        /*
         * 快捷键：
         * % : ctrl
         * & : alt
         * # : shift
         */

        //-------------------- Utility --------------------//
        /// <summary>
        /// 导出器 菜单路径（快捷键：ctrl + e）
        /// </summary>
        public const string EXPORTER = "HTFW/Utility/1.Exporter %e";

        /// <summary>
        /// 打开 MD 文档（快捷键：ctrl + m）
        /// </summary>
        public const string OPEN_MARK_DOWN = "HTFW/Utility/2.OpenMarkDown %m";

        /// <summary>
        /// 设置脚本模板（无快捷键）
        /// </summary>
        public const string SET_SCRIPT_TEMPLATE = "HTUtility/4.SetupScriptTemplate";

        /// <summary>
        /// 创建脚本模板配置数据
        /// </summary>
        public const string CREATE_SCRIPT_TEMPLATE_DATA = "HTFW/Utility/ScriptTemplateData";

        /// <summary>
        /// 创建脚本模板数据项
        /// </summary>
        public const string CREATE_SCRIPT_TEMPLATE_DATA_ITEM = "HTFW/Utility/ScriptTemplateDataItem";


        //-------------------- AssetBundle --------------------//
        /// <summary>
        /// 创建AB配置数据
        /// </summary>
        public const string CREATE_AB_CONFIG = "HTFW/ABBuilder/CreateABConfig";

        /// <summary>
        /// AB包打包  菜单路径
        /// </summary>
        public const string AB_BUILD_MENU_PATH = "HTFW/1.资源打包（AB包）";

        /// <summary>
        /// AB包配置表打包  菜单路径
        /// </summary>
        public const string ABCONFIG_BUILD_MENU_PATH = "HTFW/2.AB包配置表打包";

        /// <summary>
        /// 资源加载模式 菜单路径
        /// </summary>
        public const string RES_LOAD_SWITCH_MENU_PATH = "HTFW/3.LoadInSimulationMode";


        //-------------------- Logger --------------------//
        /// <summary>
        /// 日志打印开关 菜单路径
        /// </summary>
        public const string LOGGER_SWITCH_MENU_PATH = "HTFW/4.Logger";
        
        
        //-------------------- Scheme --------------------//
        /// <summary>
        /// 配置表转换工具 菜单路径
        /// </summary>
        public const string SCHEME_MENU_PATH = "HTFW/5.配置表转换工具";


        //-------------------- 热更 --------------------//
        /// <summary>
        /// 打热更包，窗口路径
        /// </summary>
        public const string HOT_PATCH_WINDOW_PATH = "HTFW/6.打热更包";

        
        //-------------------- UIScriptGenerator --------------------//
        /// <summary>
        /// 脚本生成工具，窗口路径
        /// </summary>
        public const string UI_SCRIPTS_GENERATOR_PATH = "HTFW/7.UI脚本生成工具";
    }

    #endregion


    //------------------------------  ContextType  ------------------------------//
    /// <summary>
    /// 上下文类型
    /// </summary>
    public enum ContextType
    {
        None,

        /// <summary>
        /// 全局
        /// </summary>
        Global,
    }


    //------------------------------  HTimer  ------------------------------//

    #region HTimer

    /// <summary>
    /// 时间单位
    /// </summary>
    public enum TimeUnit
    {
        /// <summary>
        /// 毫秒
        /// </summary>
        MilliSecond,

        /// <summary>
        /// 秒
        /// </summary>
        Second,

        /// <summary>
        /// 分钟
        /// </summary>
        Minute,

        /// <summary>
        /// 小时
        /// </summary>
        Hour,

        /// <summary>
        /// 天
        /// </summary>
        Day
    }

    #endregion
}